Copyright: ACross 1.0 Copyright ® Pavel Popov.


Access Cross Reference

ACross is a MS Access 2.0 add-in tool you can use to:

- find all unused objects you have created but don't need anymore;

- list all references to all objects including usage in

Forms, Reports, Macros, Queries, Tables, as well as Modules and Code Behind Forms;

- switch among all databases currently loaded including libraries, without quitting Access;

- display many statistics, such as number of lines in all functions;

- identify duplicate declarations for API functions in all libraries and databases;

Copyright/License/Warranty

Registration/Support

System Requirements, Installation, and Uninstallation

Getting Started

Tool Bar (Click any button for explanations.)

Declaration Window

Reference Window

Libraries Window

Status Window


Declaration Window

There are two formats for the Declaration Window

- for Form, Report, and Module Functions;

- for all other object types.

Declaration Window for Functions includes the following information:

Function Name;

Module Name where the function is declared;

Declaration line how the function is declared;

Number Of Lines in the function (not including any comments and empty lines);

Check-Complete Flag to show if the function has been checked for all possible objects;

Checked Object Types string to point to what object types were passed through during reference checking. Each capital letter in this string stands for an object type in the following order:

T-tables, Q-queries, F-forms, R-reports, S-macros, M-modules, C-form modules, P-report modules, A-the current INI file.

If there is a small letter, it means that the reference checking  was interrupted for the corresponding object type.

Dash (-) means that there wasn't any checking in the corresponding object type collection.

The order of appearance for the letters is always the same

For other object types the Declaration window will show

Object Name,

Object Type, Query type for queries, "Local", "Attached" or "ODBC" for Tables

Last Update Date,

Checked Complete Flag

Checked Object Types String

Each time you select (click on) an object in the Declaration Window the corresponding references will be shown in the References Window. You can locate an object by pressing the first letter of its name in the Declaration Window.

The Declaration Window will be filled automatically when you run ACross the first time for the current Database. At this time, a pop up window appears, allowing you to select Object Types for which to display the declarations.

You may want to see the declarations later using the Get Object Declarations button on the Tool Bar. You will find it extremely helpful it when you add, delete or change some objects.

The first message you will get after pressing this button is "Do you want to get the last objects collection?" Answer "Yes" if you want to get all changes that were made in the current Database.

After you get the new declarations, ACross will delete all references for objects that no longer exist, put new objects in the Declaration Window and put the exclamation sign (!) in any reference if there is an Object that was changed since the last checking. Every time you see the red exclamation sign in front of the reference line it means that this object was changed, and in order to get the up-to-date information you need to run the checking again.

Double Click on any object in the Declaration Window to start checking for references. If you want to get references for all objects of the current object type use the Get All Objects References button on the Tool Bar.


Reference Window

The Reference window includes the following information about all references for the current object type or a list of all objects which don't have any references depending on the toggle status of the Lost Objects Button

If an object doesn't have any references it doesn't mean that you need to delete it; it could be called from another Data Base (like query or table) from Immediate Window (like function) etc.

Here is the description of the columns in the Reference Window:

Past Due Sign - could be space, exclamation mark (!) or question mark(?). (!) means that the object listed in the "ObjCalledFrom" column was changed since last checking. (?) means that there is no such object in "ObjCalledFrom" in the current Data Base.

Type - "Sub" or "Function" for Functions, or Object type name for the rest of objects.

Name - selected object name in the Declaration Window

Called From Type, Called From Name - Object Type and Name which has selected object reference the closest in the calling stack like Function, Sub, Property.

Object Type, ObjCalledFrom - Object Type and Name which has selected object reference the next in the calling stack like Module, Query, Form, Form Module, Form Control, etc.

Appear Mark - how the searching object appears in the reference - "Is Called", "Declared", "In Comments".

The Reference Window has two parts:

- References, described above

- The line contents for the reference

Click on any reference the get the line where the reference was found. If the line contents do not fit in the window, click on it to get the scroll bar.

Some of the columns may not have enough space to hold the values. To get the full value, move your mouse cursor onto it and press Shift F2.


Libraries Window

Libraries Window contains the names of all loaded Data Bases including the current one.

To switch to the object declarations of any of the listed Data Bases, double click on the DB Name. Now you can test the references of the library objects in the current DB.

If you want to switch to one of the loaded DBs, select the name and press Switch To DB Button

To start ACross in the library DB, follow the same procedure through MS Access menu File/Add-ins/ACross.

To get a path to the selected DB, check the Status Window DB Path information.


Status Window

You can find some useful information here like:

- The full name of the DB file for which you currently have the object declarations in the Declaration Window

- The name of INI file which is in use

- The path for selected DB name in the Libraries Window


Exit Button

Exit.

Closes ACross Main Form.

If there was a Tool Bar before ACross started, it will be restored.

You can continue working in the current Data Base.

(Thank you for using ACross!)


Sort Button

 	Sort.

Sorts elements in the Declaration Window. You can specify additional options for sorting in the pop-up window after pressing this button.

Sorting fields can be different depending on the structure of the Declaration Window for the current object type.


Statistic Button
Statistics Button

Statistics.

Some quantities in your current Database object collections.

You can tell how many of each object type elements you have. Sometimes the quantities (especially queries) are amazingly high.


Objects Collection Button

 	Get last object collections.

ACross will go through all objects collections in the current Data Base and renew its internal tables with Last Update dates and New objects. This is actually to check if the object we have any references to was changed since we checked it last time. If it was then you will see a red exclamation sign (!) in the reference line. If some objects were deleted from the current Data Base you may see a red question mark (?) in the reference line. Any time that you get the object declarations, you will be asked if you want to get last object collections. If you believe there were some corrections in Data Base, press "Yes" button to get the most up-to-date objects collection.


Reports Button

 	Reports.

There are 3 reports you can choose from:

- Print all objects of the current type;

- Print the current object references;

- Print all current object type declarations.

You can pick all of them. Reports will be shown in the Preview form.


Object Duplication Button
Object Duplications Button

Object Duplications.

This will change the Declaration Window to show all objects of the current type which have the same names in all loaded Data Bases (current and libraries). Use this button to get all API duplicate declarations.

This is a toggle button. Click it once more to return to the previous contents of the Declaration Window.


Clear All References Button

Clear all references.

All references will still exist after pressing this button. Two last columns in the Declaration Window - "Completion flag" and "Object Types Checked" - will be initiated.

This can be used when you want to get All Object References again.


Get Declarations Button

Declarations.

Get object declarations of the current object type. If the current object type is Function or Form Function or Report Function, you will be prompted to choose what modules you want to check for the declaration statements. Check Declaration Window for more information.


Get All References Button

Get All References.

ACross will scan all objects of the type selected in the Declaration Window to get all references. After you press the button you can terminate scanning at any time by pressing one of the buttons in the pop-up window:

Object - will stop scanning after switching to another object,

Objects Type - will go through all objects of the current type before quitting, and

All Types - will finish checking for the current object in the Declaration window.


Lost Objects Button

Lost Objects.

Change the Reference Window to show all objects of the current type which have never been called.

This is a toggle button. Click this button again to move back to the previous contents of the Reference Window.

Remember that if you have objects in this window it doesn't mean that they are never used in the Data Base and you can delete them. They can be called from another Data Bases, from Visual Basic programs, or from Immediate Window.

Make a copy before you are going to delete something!


Switch to Database Button
Switch To DB Button

Switch to DB.

Pick the Data Base name from the Libraries Window and press this button. ACross will switch from the current DB to the one in the Libraries Window and make the current like a library DB using a new INI file. MS Access will be restarted with the chosen DB with this new INI file. If the application is huge you may run out of memory during this operation. If this happens the library section entries in the Access standard INI file should be reduced to a minimum.


Getting Started

Before you start ACross check if everything is closed in a testing Data Base. It is better to have only Data Base Container window open.

There are several ways to start ACross. The easiest one is through Access menu. If you install ACross properly go to File\Add-ins\ACross menu item and click on it.

Like an alternative way you may run the function pfFrmOpenMain(). You can do it form your Access Basic code, from immediate window, from macro or from somewhere else.

When ACross starts the first time for a current Data Base you will be prompted to get object declarations first. You can get references only for objects you get declarations for. It is not necessary to get the declarations right away. You can get them later using the Get Declarations Button. Click anywhere on the picture to get more explanation about certain areas of ACross Main Form.

Note: Before checking for references you may want to disable "Sorting and Grouping", "Field List" and "Properties" pop up forms to prevent your screen from blinking. To do to this, open any report in design view (if you don't have any report, there is nothing to worry about), go to View item on the main menu at the top of your screen, click on it and be sure that there are no check marks for the mentioned items.


System Requirements and Installation

ACross runs on the IBM PC family of computers with memory and processor power enough to work with MS Access 2.0 under MS Windows 3.1, 3.11.

If you run out of memory working with ACross you have 2 choices:

- get more memory;

- check the Library section in your INI file (usually MSACC20.INI) and comment out the lines with libraries you do not use.

ACross is MS Access Add-In application and therefore there is no special automatic installation (setup) program.

You should know how to work with MS DOS COPY command or how to use File Manager to copy files or how to use something else for copying. If you don't know anything about copying a file into another directory, you have to ask your system administrator to help you to do this.

ACross comes on a ZIP file - ACROSS.ZIP which contains the following files:

ACROSS.MDA - copy this file into your MS Access directory (the directory where you have your Access installed, which has msaccess.exe, system.mda, utility.mda files).

ACROSS.HLP - copy it into WINDOWS directory (the directory you have your Windows 3.1 installed).

ACROSS.DLL - copy it into \WINDOWS\SYSTEM directory.

README.TXT - some instruction about what is new in the current version and how to install it.

After you have done this, start MS Access, open any data base you want to check for cross references and use your Add-In manager.

To accomplish this go to File\Add-ins and then click on Add-in Manager.

If you have copied ACROSS.MDA in to your Access directory you will see "Access Cross Reference" in the list of Add-Ins. Select this line and click on Install button. A small cross check mark appears to the left of the application name. Close Add-in Manager and restart your Access for the changes to take effect.

If you for some reason don't like to work with Add-in Manager you can install ACross manually by updating your MSACC20.INI file by following these steps:

- In the [Libraries] section add an entry for the ACROSS.MDA library database:

ACROSS.MDA=RW

- In the [Menu Add-ins] section add the line:

ACross==pfFrmOpenMain()

The next time you start Access there will be a new menu item in File\Add-ins menu - ACross. Click on it to start ACross and follow the instruction on the screen. You may want to check Getting Started section for a detail explanation of what is happening during the start time.


Copyright/License/Warranty

ACross is Copyright © 1996 by Pavel Popov. All rights reserved.

This program is not free but copyrighted software that is provided to allow the user to evaluate it before paying.

Users of ACross must accept this DISCLAIMER OF WARRANTY:

ACROSS IS SUPPLIED AS IS. THE AUTHOR DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE AUTHOR ASSUMES NO LIABILITY FOR DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF ACROSS.

ACross is a "shareware program" and is provided at no charge to the user for evaluation.  Feel free to share it with your friends, but please do not give it away altered or as part of another system. The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products.

If you find this program useful and find that you are using ACross and continue to use ACross after a 30 day trial period, you must make a registration payment of $29.95 to the author at the address below. The $29.95 registration fee will license one copy for use on any one computer at any one time.

Commercial users of ACross must register and pay for their copies of ACross within 30 days of first use or their license is withdrawn.  Site-License arrangements may be made by contacting the author. Anyone distributing ACross for any kind of remuneration must first contact the author at the address below for authorization.

Pavel Popov

361-B Babbitt Rd 210

Cleveland, OH 44123

USA

e-mail ticker@ix.netcom.com


Registration
Registration/Support

This program is not free but copyrighted software that is provided to allow the user to evaluate it before paying.

Here are some valid reasons to register:

- Legal and moral requirements should be enough (this is not always in case, it seems).

- A registration key that will be shown on the status bar instead of "unregistered version".

- Notice of future upgrades.

Next version of ACross will include a cross reference checking for any control, field and any string expression in your Access Data Base.

- Technical support.

I will gladly provide technical support to all registered users of ACross. If you need support and are not a registered user you are entitled to one support phone call, if you intend to register the program once your question has been answered.

You can call me at (216) 464-2400(ext. 343) Monday - Friday 9:00 a.m. - 4:00 p.m. Eastern Standard Time or

write me e-mail at ticker@ix.netcom.com.

The registration fee for ACross is $29.95. Mail check, cash or money order together with the Registration Form to

Pavel Popov

361-B Babbitt Rd 210

Cleveland, OH 44123

USA

Thank you. I am totally open to feedback and suggestions!!!


Registration Form

Name: 	____________________________________________________________

Company:	____________________________________________________________

Address:	____________________________________________________________

____________________________________________________________

Phone W: 	_________________________  Eve: ______________________________

E-Mail: 	_________________________

Please help us determine the distribution of Our Software

Check The Box Below That Most Accurately Describes Where You Acquired The Programs.

         [ ] - Local BBS	[ ] - Shareware Catalog

         [ ] - User Group	[ ] - Software Store

         [ ] - SimTel	[ ] - CICA

         [ ] - ASP	[ ] - STAR

         [ ] - Other - Please Specify ________________________________

Please use the space below to provide us with any suggestions or  problems you have encountered. Your support is greatly appreciated!